package md.mru.transfer.optimized.domain;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

@Entity
@Table(name = "folders", schema = "c##mru_optimized")
public class Folder implements Serializable {

    private static final long serialVersionUID = 1405816330995129676L;

    @Id
    @Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0)
    private long id;

    @Column(name = "first_name", length = 50)
    private String firstName;

    @Column(name = "last_name", length = 50)
    private String lastName;

    @Column(name = "patronymic", length = 50)
    private String patronymic;

    @Temporal(TemporalType.DATE)
    @Column(name = "birth_date", length = 7)
    private Date birthDate;

    @Column(name = "idnp", length = 100)
    private String IDNP;

    @Temporal(TemporalType.DATE)
    @Column(name = "employed_date", length = 7)
    private Date employedDate;

    @Column(name = "sex", precision = 10, scale = 0)
    private Long sex;

    @Column(name = "nationality", precision = 10, scale = 0)
    private Long nationality;

    @Column(name = "family_status", precision = 10, scale = 0)
    private Long familyStatus;

    @Column(name = "residence_visa", length = 100)
    private String residenceVisa;

    @Column(name = "contact_data", length = 50)
    private String contactData;

    @Column(name = "stamp", length = 50)
    private String stamp;

    @Column(name = "card_id", length = 50)
    private String cardID;

    @Column(name = "syndicate_member", precision = 1, scale = 0)
    private Boolean syndicateMember;

    @Lob
    @Column(name = "photo")
    private byte[] photo;

    @Column(name = "employee_category", precision = 10, scale = 0)
    private Long employeeCategory;

    @Column(name = "folder_state_id")
    private Long state;

    @Column(name = "STF", precision = 10, scale = 0)
    private Long stf;

    @Column(name = "RNK", precision = 10, scale = 0)
    private Long rnk;

    @Column(name = "IDT_CRD_BRT", length = 100)
    private String idtCrdBrt;

    @Column(name = "IDT_SRS", length = 10)
    private String idtSrs;

    @Column(name = "IDT_NBR", length = 10)
    private String idtNbr;

    @Column(name = "IDT_OFC", length = 30)
    private String idtOfc;

    @Temporal(TemporalType.DATE)
    @Column(name = "IDT_DTE", length = 7)
    private Date idtDte;

    @Transient
    private Boolean editable;

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getPatronymic() {
        return patronymic;
    }

    public void setPatronymic(String patronymic) {
        this.patronymic = patronymic;
    }

    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    public String getIDNP() {
        return IDNP;
    }

    public void setIDNP(String IDNP) {
        this.IDNP = IDNP;
    }

    public Date getEmployedDate() {
        return employedDate;
    }

    public void setEmployedDate(Date employedDate) {
        this.employedDate = employedDate;
    }

    public Long getSex() {
        return sex;
    }

    public void setSex(Long sex) {
        this.sex = sex;
    }

    public Long getNationality() {
        return nationality;
    }

    public void setNationality(Long nationality) {
        this.nationality = nationality;
    }

    public Long getFamilyStatus() {
        return familyStatus;
    }

    public void setFamilyStatus(Long familyStatus) {
        this.familyStatus = familyStatus;
    }

    public String getResidenceVisa() {
        return residenceVisa;
    }

    public void setResidenceVisa(String residenceVisa) {
        this.residenceVisa = residenceVisa;
    }

    public String getContactData() {
        return contactData;
    }

    public void setContactData(String contactData) {
        this.contactData = contactData;
    }

    public String getStamp() {
        return stamp;
    }

    public void setStamp(String stamp) {
        this.stamp = stamp;
    }

    public String getCardID() {
        return cardID;
    }

    public void setCardID(String cardID) {
        this.cardID = cardID;
    }

    public Boolean getSyndicateMember() {
        return syndicateMember;
    }

    public void setSyndicateMember(Boolean syndicateMember) {
        this.syndicateMember = syndicateMember;
    }

    public byte[] getPhoto() {
        return photo;
    }

    public void setPhoto(byte[] photo) {
        this.photo = photo;
    }

    public Long getEmployeeCategory() {
        return employeeCategory;
    }

    public void setEmployeeCategory(Long employeeCategory) {
        this.employeeCategory = employeeCategory;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Long getStf() {
        return stf;
    }

    public void setStf(Long stf) {
        this.stf = stf;
    }

    public Long getRnk() {
        return rnk;
    }

    public void setRnk(Long rnk) {
        this.rnk = rnk;
    }

    public String getIdtCrdBrt() {
        return idtCrdBrt;
    }

    public void setIdtCrdBrt(String idtCrdBrt) {
        this.idtCrdBrt = idtCrdBrt;
    }

    public String getIdtSrs() {
        return idtSrs;
    }

    public void setIdtSrs(String idtSrs) {
        this.idtSrs = idtSrs;
    }

    public String getIdtNbr() {
        return idtNbr;
    }

    public void setIdtNbr(String idtNbr) {
        this.idtNbr = idtNbr;
    }

    public String getIdtOfc() {
        return idtOfc;
    }

    public void setIdtOfc(String idtOfc) {
        this.idtOfc = idtOfc;
    }

    public Date getIdtDte() {
        return idtDte;
    }

    public void setIdtDte(Date idtDte) {
        this.idtDte = idtDte;
    }

    public Boolean getEditable() {
        return editable;
    }

    public void setEditable(Boolean editable) {
        this.editable = editable;
    }
}


